<!DOCTYPE html>
<html lang="en-US" dir="ltr">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>九问Blog</title>
    <meta name="description" content="欢迎访问九问Blog！分享一些Python全栈开发以及爬虫技术，希望对你有所帮助">
    <meta name="generator" content="VitePress v1.6.4">
    <link rel="preload stylesheet" href="/assets/style.DFMv0UyT.css" as="style">
    <link rel="preload stylesheet" href="/vp-icons.css" as="style">
    
    <script type="module" src="/assets/app.FY3_6mXQ.js"></script>
    <link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
    <link rel="modulepreload" href="/assets/chunks/theme.C5KTugK_.js">
    <link rel="modulepreload" href="/assets/chunks/framework.CKMM7nwK.js">
    <link rel="modulepreload" href="/assets/其他_八股_其他_汇编_数据传送指令.md.PY1RmkQj.lean.js">
    <script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
    <script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
  </head>
  <body>
    <div id="app"><!--[--><div class="Layout" data-v-5d98c3a5><!--[--><!--]--><!--[--><span tabindex="-1" data-v-0b0ada53></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-0b0ada53>Skip to content</a><!--]--><!----><header class="VPNav" data-v-5d98c3a5 data-v-ae24b3ad><div class="VPNavBar" data-v-ae24b3ad data-v-6aa21345><div class="wrapper" data-v-6aa21345><div class="container" data-v-6aa21345><div class="title" data-v-6aa21345><div class="VPNavBarTitle has-sidebar" data-v-6aa21345 data-v-1168a8e4><a class="title" href="/" data-v-1168a8e4><!--[--><!--]--><!----><span data-v-1168a8e4>九问Blog</span><!--[--><!--]--></a></div></div><div class="content" data-v-6aa21345><div class="content-body" data-v-6aa21345><!--[--><!--]--><div class="VPNavBarSearch search" data-v-6aa21345><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-6aa21345 data-v-dc692963><span id="main-nav-aria-label" class="visually-hidden" data-v-dc692963> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/%E5%B7%A5%E5%85%B7/Git/%E5%90%8C%E6%97%B6%E6%8E%A8%E9%80%81Gitee%E5%92%8CGitHub.html" tabindex="0" data-v-dc692963 data-v-e56f3d57><!--[--><span data-v-e56f3d57>工具</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/Linux/Linux%E5%9F%BA%E7%A1%80%E5%85%A5%E9%97%A8.html" tabindex="0" data-v-dc692963 data-v-e56f3d57><!--[--><span data-v-e56f3d57>Linux</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/%E7%88%AC%E8%99%AB/%E5%AF%BC%E8%AE%BA.html" tabindex="0" data-v-dc692963 data-v-e56f3d57><!--[--><span data-v-e56f3d57>爬虫</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/%E6%B5%8B%E8%AF%95/faker%E6%95%B0%E6%8D%AE%E9%9A%8F%E6%9C%BA%E7%94%9F%E6%88%90.html" tabindex="0" data-v-dc692963 data-v-e56f3d57><!--[--><span data-v-e56f3d57>测试</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/Python/%E5%8E%9F%E7%90%86%E7%B1%BB/%E5%86%85%E5%AD%98%E7%AE%A1%E7%90%86.html" tabindex="0" data-v-dc692963 data-v-e56f3d57><!--[--><span data-v-e56f3d57>Python</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/Python%E6%A1%86%E6%9E%B6/Django/%E6%8E%A5%E5%8F%A3%E6%96%87%E6%A1%A3.html" tabindex="0" data-v-dc692963 data-v-e56f3d57><!--[--><span data-v-e56f3d57>Python框架</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink active" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/Linux.html" tabindex="0" data-v-dc692963 data-v-e56f3d57><!--[--><span data-v-e56f3d57>其他</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/%E5%89%8D%E7%AB%AF/Vue3/axios.html" tabindex="0" data-v-dc692963 data-v-e56f3d57><!--[--><span data-v-e56f3d57>前端</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/LLM/LangChain/quick_start.html" tabindex="0" data-v-dc692963 data-v-e56f3d57><!--[--><span data-v-e56f3d57>LLM</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA/docker/mysql.html" tabindex="0" data-v-dc692963 data-v-e56f3d57><!--[--><span data-v-e56f3d57>环境搭建</span><!--]--></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-6aa21345 data-v-6c893767><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-6c893767 data-v-5337faa4 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-5337faa4></span><span class="vpi-moon moon" data-v-5337faa4></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-6aa21345 data-v-0394ad82 data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://github.com/jiuwen567" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><span class="vpi-social-github"></span></a><a class="VPSocialLink no-icon" href="https://gitee.com/jiuwen567" aria-label target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><svg t="1724307958358" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4234" width="200" height="200"><path d="M512 0C230.4 0 0 230.4 0 512s230.4 512 512 512 512-230.4 512-512S793.6 0 512 0z m284.8 313.6c0 12.8-12.8 25.6-25.6 25.6H416c-41.6 0-76.8 35.2-76.8 76.8v243.2c0 12.8 12.8 25.6 25.6 25.6h240c41.6 0 76.8-35.2 76.8-76.8v-12.8c0-12.8-12.8-25.6-25.6-25.6H480c-12.8 0-25.6-12.8-25.6-25.6v-64c0-12.8 12.8-25.6 25.6-25.6h291.2c12.8 0 25.6 12.8 25.6 25.6v144c0 92.8-76.8 169.6-169.6 169.6H252.8c-12.8 0-25.6-12.8-25.6-25.6V412.8C227.2 310.4 310.4 224 416 224h355.2c12.8 0 25.6 12.8 25.6 25.6v64z" fill="#B32225" p-id="4235"></path></svg></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-6aa21345 data-v-bb2aa2f0 data-v-cf11d7a2><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-cf11d7a2><span class="vpi-more-horizontal icon" data-v-cf11d7a2></span></button><div class="menu" data-v-cf11d7a2><div class="VPMenu" data-v-cf11d7a2 data-v-b98bc113><!----><!--[--><!--[--><!----><div class="group" data-v-bb2aa2f0><div class="item appearance" data-v-bb2aa2f0><p class="label" data-v-bb2aa2f0>主题</p><div class="appearance-action" data-v-bb2aa2f0><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-bb2aa2f0 data-v-5337faa4 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-5337faa4></span><span class="vpi-moon moon" data-v-5337faa4></span><!--]--></span></span></button></div></div></div><div class="group" data-v-bb2aa2f0><div class="item social-links" data-v-bb2aa2f0><div class="VPSocialLinks social-links-list" data-v-bb2aa2f0 data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://github.com/jiuwen567" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><span class="vpi-social-github"></span></a><a class="VPSocialLink no-icon" href="https://gitee.com/jiuwen567" aria-label target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><svg t="1724307958358" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4234" width="200" height="200"><path d="M512 0C230.4 0 0 230.4 0 512s230.4 512 512 512 512-230.4 512-512S793.6 0 512 0z m284.8 313.6c0 12.8-12.8 25.6-25.6 25.6H416c-41.6 0-76.8 35.2-76.8 76.8v243.2c0 12.8 12.8 25.6 25.6 25.6h240c41.6 0 76.8-35.2 76.8-76.8v-12.8c0-12.8-12.8-25.6-25.6-25.6H480c-12.8 0-25.6-12.8-25.6-25.6v-64c0-12.8 12.8-25.6 25.6-25.6h291.2c12.8 0 25.6 12.8 25.6 25.6v144c0 92.8-76.8 169.6-169.6 169.6H252.8c-12.8 0-25.6-12.8-25.6-25.6V412.8C227.2 310.4 310.4 224 416 224h355.2c12.8 0 25.6 12.8 25.6 25.6v64z" fill="#B32225" p-id="4235"></path></svg></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-6aa21345 data-v-e5dd9c1c><span class="container" data-v-e5dd9c1c><span class="top" data-v-e5dd9c1c></span><span class="middle" data-v-e5dd9c1c></span><span class="bottom" data-v-e5dd9c1c></span></span></button></div></div></div></div><div class="divider" data-v-6aa21345><div class="divider-line" data-v-6aa21345></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-5d98c3a5 data-v-a6f0e41e><div class="container" data-v-a6f0e41e><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-a6f0e41e><span class="vpi-align-left menu-icon" data-v-a6f0e41e></span><span class="menu-text" data-v-a6f0e41e>菜单</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-a6f0e41e data-v-8a42e2b4><button data-v-8a42e2b4>回到顶部</button><!----></div></div></div><aside class="VPSidebar" data-v-5d98c3a5 data-v-319d5ca6><div class="curtain" data-v-319d5ca6></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-319d5ca6><span class="visually-hidden" id="sidebar-aria-label" data-v-319d5ca6> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-c40bc020><section class="VPSidebarItem level-0 collapsible" data-v-c40bc020 data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h2 class="text" data-v-b3fd67f8>面经</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E9%9D%A2%E7%BB%8F/%E5%A4%A7%E7%96%86.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>大疆</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E9%9D%A2%E7%BB%8F/%E5%B7%AE%E6%97%851%E5%8F%B7.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>差旅1号</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E9%9D%A2%E7%BB%8F/%E5%B9%BF%E5%B7%9E%E5%98%89%E4%B8%BA%E7%A7%91%E6%8A%80%E5%85%AC%E5%8F%B8-python.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>广州嘉为科技公司-python</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E9%9D%A2%E7%BB%8F/%E5%BE%97%E7%89%A9.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>得物</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E9%9D%A2%E7%BB%8F/%E6%8B%9B%E5%95%86%E9%93%B6%E8%A1%8C.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>招商银行</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E9%9D%A2%E7%BB%8F/%E7%99%BE%E5%BA%A6.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>百度</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-c40bc020><section class="VPSidebarItem level-0 collapsible has-active" data-v-c40bc020 data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h2 class="text" data-v-b3fd67f8>八股</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/Linux.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>Linux</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-1 collapsible" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h3 class="text" data-v-b3fd67f8>前端</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E5%89%8D%E7%AB%AF/%E4%BA%8B%E4%BB%B6%E5%BE%AA%E7%8E%AF&amp;%E5%BC%82%E6%AD%A5.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>事件循环&异步</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-2 collapsible" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h4 class="text" data-v-b3fd67f8>HTML</h4><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-3 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E5%89%8D%E7%AB%AF/HTML/%E6%96%87%E6%A1%A3%E5%A3%B0%E6%98%8E.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>文档声明</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E5%89%8D%E7%AB%AF/HTML/%E6%9B%BF%E6%8D%A2%E5%85%83%E7%B4%A0.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>替换元素</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E5%89%8D%E7%AB%AF/HTML/%E8%AF%AD%E4%B9%89%E5%8C%96&amp;SEO&amp;%E5%BE%AE%E6%A0%BC%E5%BC%8F.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>语义化&SEO&微格式</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E5%89%8D%E7%AB%AF/HTML/%E9%A1%B5%E9%9D%A2%E5%8F%AF%E8%A7%81%E6%80%A7.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>页面可见性</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-2 collapsible" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h4 class="text" data-v-b3fd67f8>CSS</h4><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-3 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E5%89%8D%E7%AB%AF/CSS/%E5%8D%95%E4%BD%8D.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>单位</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E5%89%8D%E7%AB%AF/CSS/%E5%B1%85%E4%B8%AD%E7%9A%84%E6%96%B9%E5%BC%8F.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>居中的方式</p><!--]--></a><!----></div><!----></div><!--]--></div></section><!--]--></div></section><section class="VPSidebarItem level-1 collapsible" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h3 class="text" data-v-b3fd67f8>数据库</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E6%95%B0%E6%8D%AE%E5%BA%93/log.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>log</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E6%95%B0%E6%8D%AE%E5%BA%93/mysql%E7%9A%84%E6%89%A7%E8%A1%8C%E5%BC%95%E6%93%8E.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>mysql的执行引擎</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E6%95%B0%E6%8D%AE%E5%BA%93/redis.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>redis</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E6%95%B0%E6%8D%AE%E5%BA%93/sql%E8%AF%AD%E5%8F%A5%E7%9A%84%E6%89%A7%E8%A1%8C.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>sql语句的执行</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E6%95%B0%E6%8D%AE%E5%BA%93/%E6%85%A2%E6%9F%A5%E8%AF%A2.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>慢查询</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E6%95%B0%E6%8D%AE%E5%BA%93/%E7%B4%A2%E5%BC%95%E5%A4%B1%E6%95%88%E7%9A%84%E5%9C%BA%E6%99%AF.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>索引失效的场景</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-2 collapsible" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h4 class="text" data-v-b3fd67f8>事务</h4><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-3 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E6%95%B0%E6%8D%AE%E5%BA%93/%E4%BA%8B%E5%8A%A1/%E4%BA%8B%E5%8A%A1%E7%9A%84%E5%9B%9B%E5%A4%A7%E7%89%B9%E6%80%A7.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>事务的四大特性</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E6%95%B0%E6%8D%AE%E5%BA%93/%E4%BA%8B%E5%8A%A1/%E4%BA%8B%E5%8A%A1%E7%9A%84%E9%9A%94%E7%A6%BB%E7%BA%A7%E5%88%AB.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>事务的隔离级别</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-2 collapsible" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h4 class="text" data-v-b3fd67f8>进阶</h4><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-3 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E6%95%B0%E6%8D%AE%E5%BA%93/%E8%BF%9B%E9%98%B6/%E7%AA%97%E5%8F%A3%E5%87%BD%E6%95%B0.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>窗口函数</p><!--]--></a><!----></div><!----></div><!--]--></div></section><!--]--></div></section><section class="VPSidebarItem level-1 collapsible" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h3 class="text" data-v-b3fd67f8>测开</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E6%B5%8B%E5%BC%80/bug.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>bug</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E6%B5%8B%E5%BC%80/%E6%80%A7%E8%83%BD%E6%B5%8B%E8%AF%95.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>性能测试</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E6%B5%8B%E5%BC%80/%E6%B5%8B%E8%AF%95%E7%9A%84%E6%B5%81%E7%A8%8B.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>测试的流程</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E6%B5%8B%E5%BC%80/%E6%B5%8B%E8%AF%95%E7%9A%84%E7%90%86%E8%A7%A3.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>测试的理解</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E6%B5%8B%E5%BC%80/%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>软件测试</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E6%B5%8B%E5%BC%80/%E8%BD%AF%E4%BB%B6%E8%B4%A8%E9%87%8F.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>软件质量</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-1 collapsible" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h3 class="text" data-v-b3fd67f8>数据结构</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/%E4%BA%8C%E5%88%86%E6%B3%95.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>二分法</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/%E4%BA%8C%E5%8F%89%E6%A0%91.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>二叉树</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/%E5%9B%9E%E6%BA%AF.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>回溯</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/%E6%BB%91%E5%8A%A8%E7%AA%97%E5%8F%A3%E6%9C%80%E5%A4%A7%E5%80%BC.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>滑动窗口最大值</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-2 collapsible" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h4 class="text" data-v-b3fd67f8>数组</h4><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-3 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/%E6%95%B0%E7%BB%84/%E8%9B%87%E5%BD%A2%E5%A1%AB%E6%95%B0.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>蛇形填数</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-2 collapsible" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h4 class="text" data-v-b3fd67f8>背包</h4><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-3 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/%E8%83%8C%E5%8C%85/01%E8%83%8C%E5%8C%85.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>01背包</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-2 collapsible" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h4 class="text" data-v-b3fd67f8>链表</h4><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-3 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/%E9%93%BE%E8%A1%A8/%E4%B8%A4%E4%B8%A4%E4%BA%A4%E6%8D%A2%E9%93%BE%E8%A1%A8%E4%B8%AD%E7%9A%84%E8%8A%82%E7%82%B9.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>两两交换链表中的节点</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/%E9%93%BE%E8%A1%A8/%E5%8D%95%E9%93%BE%E8%A1%A8.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>单链表</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/%E9%93%BE%E8%A1%A8/%E5%8F%8D%E8%BD%AC%E9%93%BE%E8%A1%A8.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>反转链表</p><!--]--></a><!----></div><!----></div><!--]--></div></section><!--]--></div></section><section class="VPSidebarItem level-1 collapsible" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h3 class="text" data-v-b3fd67f8>计网</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E8%AE%A1%E7%BD%91/CDN.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>CDN</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E8%AE%A1%E7%BD%91/cookie&amp;session.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>cookie&session</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E8%AE%A1%E7%BD%91/DNS%E6%9F%A5%E8%AF%A2%E8%BF%87%E7%A8%8B.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>DNS查询过程</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E8%AE%A1%E7%BD%91/http%E5%B8%B8%E8%A7%81%E7%8A%B6%E6%80%81%E7%A0%81.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>http常见状态码</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E8%AE%A1%E7%BD%91/OSI%E6%A8%A1%E5%9E%8B.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>OSI模型</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E8%AE%A1%E7%BD%91/url%E5%88%B0%E9%A1%B5%E9%9D%A2%E5%B1%95%E7%A4%BA.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>url到页面展示</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E8%AE%A1%E7%BD%91/%E5%BC%BA%E7%BC%93%E5%AD%98%E5%92%8C%E5%8D%8F%E5%95%86%E7%BC%93%E5%AD%98.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>强缓存和协商缓存</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-2 collapsible" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h4 class="text" data-v-b3fd67f8>传输层</h4><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-3 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E8%AE%A1%E7%BD%91/%E4%BC%A0%E8%BE%93%E5%B1%82/TCP&amp;UDP.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>TCP&UDP</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-2 collapsible" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h4 class="text" data-v-b3fd67f8>物理层</h4><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-3 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E8%AE%A1%E7%BD%91/%E7%89%A9%E7%90%86%E5%B1%82/%E5%A5%88%E6%B0%8F%E5%87%86%E5%88%99&amp;%E9%A6%99%E5%86%9C%E5%85%AC%E5%BC%8F.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>奈氏准则&香农公式</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-2 collapsible" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h4 class="text" data-v-b3fd67f8>应用层</h4><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-3 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E8%AE%A1%E7%BD%91/%E5%BA%94%E7%94%A8%E5%B1%82/http&amp;https.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>http&https</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E8%AE%A1%E7%BD%91/%E5%BA%94%E7%94%A8%E5%B1%82/http.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>http</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E8%AE%A1%E7%BD%91/%E5%BA%94%E7%94%A8%E5%B1%82/http1.0%E5%90%84%E4%B8%AA%E7%89%88%E6%9C%AC.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>http1.0各个版本</p><!--]--></a><!----></div><!----></div><!--]--></div></section><!--]--></div></section><section class="VPSidebarItem level-1 collapsible" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h3 class="text" data-v-b3fd67f8>操作系统</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E5%AD%98%E5%82%A8%E7%AE%A1%E7%90%86.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>存储管理</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8%E5%8F%8A%E8%99%9A%E6%8B%9F%E5%8C%96%E6%8A%80%E6%9C%AF%E6%A6%82%E8%BF%B0.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>操作系统安全及虚拟化技术概述</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E6%A6%82%E8%BF%B0%E5%8F%8A%E5%9F%BA%E6%9C%AC%E6%A6%82%E5%BF%B5.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>操作系统概述及基本概念</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>文件系统</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E6%AD%BB%E9%94%81.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>死锁</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E8%BE%93%E5%85%A5%E8%BE%93%E5%87%BA.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>输入输出</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E8%BF%9B%E7%A8%8B%E4%B8%8E%E7%BA%BF%E7%A8%8B.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>进程与线程</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/%E9%9D%A2%E8%AF%95%E5%85%AB%E8%82%A1.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>面试八股</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-1 collapsible has-active" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h3 class="text" data-v-b3fd67f8>其他</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><section class="VPSidebarItem level-2 collapsible has-active" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h4 class="text" data-v-b3fd67f8>汇编</h4><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-3 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E5%85%B6%E4%BB%96/%E6%B1%87%E7%BC%96/%E4%B8%B2%E6%8C%87%E4%BB%A4.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>串指令</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E5%85%B6%E4%BB%96/%E6%B1%87%E7%BC%96/%E5%89%8D%E7%BD%AE%E7%9F%A5%E8%AF%86.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>前置知识</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E5%85%B6%E4%BB%96/%E6%B1%87%E7%BC%96/%E5%AE%8F%E6%B1%87%E7%BC%96.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>宏汇编</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E5%85%B6%E4%BB%96/%E6%B1%87%E7%BC%96/%E5%AF%84%E5%AD%98%E5%99%A8.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>寄存器</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E5%85%B6%E4%BB%96/%E6%B1%87%E7%BC%96/%E5%AF%BB%E5%9D%80%E6%96%B9%E5%BC%8F.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>寻址方式</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E5%85%B6%E4%BB%96/%E6%B1%87%E7%BC%96/%E6%95%B0%E6%8D%AE%E4%BC%A0%E9%80%81%E6%8C%87%E4%BB%A4.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>数据传送指令</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E5%85%B6%E4%BB%96/%E6%B1%87%E7%BC%96/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E7%BB%BC%E5%90%88.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>程序设计综合</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E5%85%B6%E4%BB%96/%E6%B1%87%E7%BC%96/%E9%80%BB%E8%BE%91%E8%BF%90%E7%AE%97%E4%B8%8E%E7%A7%BB%E4%BD%8D%E6%8C%87%E4%BB%A4.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>逻辑运算与移位指令</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-2 collapsible" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h4 class="text" data-v-b3fd67f8>网安</h4><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-3 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E5%85%B6%E4%BB%96/%E7%BD%91%E5%AE%89/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>网络安全</p><!--]--></a><!----></div><!----></div><!--]--></div></section><!--]--></div></section><!--]--></div></section></div><div class="no-transition group" data-v-c40bc020><section class="VPSidebarItem level-0 collapsible" data-v-c40bc020 data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h2 class="text" data-v-b3fd67f8>项目</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><section class="VPSidebarItem level-1 collapsible" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h3 class="text" data-v-b3fd67f8>项目部署</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-2 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E9%A1%B9%E7%9B%AE/%E9%A1%B9%E7%9B%AE%E9%83%A8%E7%BD%B2/web.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>web</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-2 collapsible" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h4 class="text" data-v-b3fd67f8>vitepress</h4><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b3fd67f8><span class="vpi-chevron-right caret-icon" data-v-b3fd67f8></span></div></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-3 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E9%A1%B9%E7%9B%AE/%E9%A1%B9%E7%9B%AE%E9%83%A8%E7%BD%B2/vitepress/GithubPages%E9%83%A8%E7%BD%B2.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>GithubPages部署</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E9%A1%B9%E7%9B%AE/%E9%A1%B9%E7%9B%AE%E9%83%A8%E7%BD%B2/vitepress/netlify%E9%83%A8%E7%BD%B2.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>netlify部署</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/%E5%85%B6%E4%BB%96/%E9%A1%B9%E7%9B%AE/%E9%A1%B9%E7%9B%AE%E9%83%A8%E7%BD%B2/vitepress/Nginx%E9%83%A8%E7%BD%B2.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>Nginx部署</p><!--]--></a><!----></div><!----></div><!--]--></div></section><!--]--></div></section><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-5d98c3a5 data-v-1428d186><div class="VPDoc has-sidebar has-aside" data-v-1428d186 data-v-39a288b8><!--[--><!--]--><div class="container" data-v-39a288b8><div class="aside" data-v-39a288b8><div class="aside-curtain" data-v-39a288b8></div><div class="aside-container" data-v-39a288b8><div class="aside-content" data-v-39a288b8><div class="VPDocAside" data-v-39a288b8 data-v-3f215769><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-3f215769 data-v-a5bbad30><div class="content" data-v-a5bbad30><div class="outline-marker" data-v-a5bbad30></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-a5bbad30>On this page</div><ul class="VPDocOutlineItem root" data-v-a5bbad30 data-v-b933a997><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-3f215769></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-39a288b8><div class="content-container" data-v-39a288b8><!--[--><!--]--><main class="main" data-v-39a288b8><div style="position:relative;" class="vp-doc _%E5%85%B6%E4%BB%96_%E5%85%AB%E8%82%A1_%E5%85%B6%E4%BB%96_%E6%B1%87%E7%BC%96_%E6%95%B0%E6%8D%AE%E4%BC%A0%E9%80%81%E6%8C%87%E4%BB%A4" data-v-39a288b8><div><h2 id="数据传送指令" tabindex="-1">数据传送指令 <a class="header-anchor" href="#数据传送指令" aria-label="Permalink to &quot;数据传送指令&quot;">​</a></h2><ol><li>通用传送指令</li><li>堆栈传送指令</li><li>I/O传送指令</li></ol><h2 id="通用传送指令" tabindex="-1">通用传送指令 <a class="header-anchor" href="#通用传送指令" aria-label="Permalink to &quot;通用传送指令&quot;">​</a></h2><h2 id="mov指令" tabindex="-1">MOV指令 <a class="header-anchor" href="#mov指令" aria-label="Permalink to &quot;MOV指令&quot;">​</a></h2><p><code>MOV 目标操作数，源操作数</code></p><p>将源操作数传送入目的地址，源地址内容不变，不影响状态标志。即：(源操作数)→目标</p><h3 id="语法规则" tabindex="-1">语法规则 <a class="header-anchor" href="#语法规则" aria-label="Permalink to &quot;语法规则&quot;">​</a></h3><ul><li><p>立即数不能作为目的操作数</p><ul><li>例： MOV 1234H，AX ；非法指令</li></ul></li><li><p>源、目的操作数不能同时为存储器操作数。</p><ul><li>例： MOV [DI]，[SI] ；非法指令</li></ul></li><li><p>CS或IP不能作为目的操作数，任何以CS或IP为目标 的传送指令都是非法的</p></li><li><p>源操作数是立即数时，段寄存器不能作为目的操作数。</p></li><li><p>例：MOV DS，1000H ；是非法指令</p></li><li><blockquote><p>为了把立即数的值传送给段寄存器，通常可以借用 一个寄存器/存储器操作数作为过渡。例如： MOV AX，DATA ；DATA为数据段名 ；编译后即为DATA段的段基址、立即数 •MOV DS，AX</p></blockquote></li><li><p>任何一条指令必须明确(例如包含 寄存器或使用PTR)/隐含指定每个操作数的类型(长度)！</p></li><li><p>大多数指令要求源操作数和目的操作数必须等长(即：类型匹配)。传送类指令大多如此</p><blockquote><p>例：MOV [BX]，12H ；错误。源、目的操作数都无法指明数据长 度！！</p><p>双操作数指令中，当源操作数是立即数、 目操作数是寄存器间址类(非变量名)的存储 器操作数时，对目标操作数的存储操作数必 须说明长度类型！！0</p><p>可以改为： MOV BYTE PTR [BX]，12H</p><p>或者 MOV WORDPTR[BX]，12H</p><p>或者 MOV DWORDPTR[BX]，12H</p></blockquote></li><li><p>对于变量名方式的存储器操作数</p><ul><li><blockquote><p>例1： • XYZ DB 12H ；定义XYZ为字节型变量</p><p>• MOV XYZ，12H ；操作数为8位 •</p><p>例2： • XYZ DW 12H ；定义XYZ为字型变量 •</p><p>MOV XYZ，12H ；操作数为16位 • ；变量名定义时具有默认的长度属性，无需使用 PTR说明！</p></blockquote></li></ul></li><li><p>如果源、目的操作数类型不匹配，同样需要使用PTR进行说明</p><ul><li><blockquote><p>XYZ DB 12H ；定义XYZ为字节型变量 • MOV AX，XYZ</p><p>错：AX是字操作数，而XYZ是字节变量。</p><p>应该改为： MOV AX，WORD PTR XYZ ;正确</p></blockquote></li></ul></li><li><p>类似地，在单操作数指令中，当目的操作数 是寄存器间址类(非变量名)的存储器操作数 时，同样需要对存储器操作数说明长度类 型！！！</p></li></ul><h3 id="符号扩展传送指令movsx" tabindex="-1">符号扩展传送指令MOVSX <a class="header-anchor" href="#符号扩展传送指令movsx" aria-label="Permalink to &quot;符号扩展传送指令MOVSX&quot;">​</a></h3><p><code>MOVSX DST，SRC</code></p><p>将SRC的符号位向高位扩展，使源操作数与 目标操作数字长相同、但真值不变，再送到DST， 而SRC保持不变。(386以上)</p><ul><li><p>DST为REG16或REG32，SRC为小于等于DST的 立即数或存储器操作数或寄存器操作数。 •</p></li><li><p>对于有符号数才有意义。对于有符号数的补码， 扩展前后的真值保持不变，只有补码的位数不同。</p></li><li><p>对于无符号数无意义</p></li></ul><h4 id="eg" tabindex="-1">eg <a class="header-anchor" href="#eg" aria-label="Permalink to &quot;eg&quot;">​</a></h4><div class="language-assembly vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">assembly</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>MOV  CL,56H</span></span>
<span class="line"><span>MOVSX  AX,CL ;0101 0110 B ;0000 0000 0101 0110 B</span></span></code></pre></div><ul><li>AX中得到56H的带符号扩展值0056H</li></ul><div class="language-assembly vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">assembly</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>MOV DL,0FEH        ;1111 1110 B </span></span>
<span class="line"><span>MOVSX  AX,DL ;1111 1111 1111 1110 B  ;</span></span></code></pre></div><p>AX中得到88H的带符号扩展值0FFFEH</p><h3 id="零扩展传送指令movzx" tabindex="-1">零扩展传送指令MOVZX <a class="header-anchor" href="#零扩展传送指令movzx" aria-label="Permalink to &quot;零扩展传送指令MOVZX&quot;">​</a></h3><p><code>MOVZX DST，SRC</code></p><p>将SRC的高位用0补充，使其与目标操 作数字长相同，再送到DST，而SRC保持不变。(386以上)</p><ul><li><p>DST为REG16或REG32，SRC为小于等于 DST的立即数或存储器操作数或寄存器操作 数。</p></li><li><p>对于无符号数才有意义，扩展前后无符号数的真值不变。</p><div class="language-assembly vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">assembly</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>MOVZX EAX，CX</span></span></code></pre></div></li></ul><h3 id="有效地址送寄存器指令lea" tabindex="-1">有效地址送寄存器指令LEA <a class="header-anchor" href="#有效地址送寄存器指令lea" aria-label="Permalink to &quot;有效地址送寄存器指令LEA&quot;">​</a></h3><p>load effective address, 加载有效地址，可以将有效地址传送到指定的的寄存器。指令形式是从存储器读数据到寄存器, 效果是将存储器的有效地址写入到目的操作数, 简单说, 就是C语言中的”&amp;”.</p><p><code>LEA REG,SRC</code></p><p>源操作数SRC必须是存储器操作数</p><p>REG为16位或32位寄存器(除段寄存器外)。</p><p>等价指令：<code>MOV REG,OFFSET SRC</code></p><p>eg:</p><div class="language-asm vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">asm</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">MOV</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> DX</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, OFFSET INPUT_MSG</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">LEA</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> DX</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,INPUT_MSG</span></span></code></pre></div><p>会将 INPUT_MSG 的偏移地址（相对于其段基址的地址）加载到 DX 寄存器中。 此时，DX 存储的是 INPUT_MSG 在当前数据段的偏移量，而不是 INPUT_MSG 中的数据。</p><h2 id="堆栈传送指令" tabindex="-1">堆栈传送指令 <a class="header-anchor" href="#堆栈传送指令" aria-label="Permalink to &quot;堆栈传送指令&quot;">​</a></h2><blockquote><p>堆栈操作单位是字(数据字长为16的倍数))</p></blockquote><p>在80X86中，规定：</p><ul><li><p>SS段寄存器：用于指示堆栈段的段基址，即是：堆栈空间(段)中的地址最小的存储单元的地址(段基址)。</p></li><li><p>栈底位置固定不变，即是：堆栈空间中最高地址的存储单元。(该地址由SS规定的段基址和预先定义的堆栈段的大小决定。)</p></li><li><p>SP或ESP(堆栈指针)始终指向栈顶，随着数据出栈、入栈操作而不断变化。</p></li><li><p>SP或ESP寄存器：存储堆栈中最后一个入栈数据(栈顶)所在存储单元的偏移地址。</p></li><li><p>数据进栈后，栈顶指针向低地址端调整；数据出栈后，栈顶指针向高地址端调整。</p></li><li><p>16位或者32位操作数</p><ul><li>入栈规律是：高位字节存入高地址单元，低位字节存入低地址单 元；</li><li>出栈规律是：低地址字节弹到目标操作 数低位，高地址字节弹到目标操作数高位。</li></ul></li></ul><h3 id="进栈指令push" tabindex="-1">进栈指令PUSH <a class="header-anchor" href="#进栈指令push" aria-label="Permalink to &quot;进栈指令PUSH&quot;">​</a></h3><p><code>PUSH SRC</code></p><p>执行时，首先调整堆栈指针，然后把源操作数压栈</p><p>注意：单操作数指令中：存储器操作数，需要用PTR说明操作数长度。该指令中单操作数为源操作数。</p><ul><li><p>eg:</p><ul><li><div class="language-asm vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">asm</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">PUSH</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">  WORD</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> PTR [</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">BX</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">]</span></span></code></pre></div></li></ul></li></ul><h3 id="出栈指令pop" tabindex="-1">出栈指令POP <a class="header-anchor" href="#出栈指令pop" aria-label="Permalink to &quot;出栈指令POP&quot;">​</a></h3><p><code>POP DST</code></p><p>先将栈顶弹出2个或4个字节，送目标操作数，然后调整堆栈指针。</p><h2 id="算术运算类指令" tabindex="-1">算术运算类指令 <a class="header-anchor" href="#算术运算类指令" aria-label="Permalink to &quot;算术运算类指令&quot;">​</a></h2><h3 id="add加法指令" tabindex="-1">ADD加法指令 <a class="header-anchor" href="#add加法指令" aria-label="Permalink to &quot;ADD加法指令&quot;">​</a></h3><p><code>ADD 目的操作数，源操作数</code></p><ul><li><p>功能：源操作数+目的操作数→目的操作数</p></li><li><p>影响的标志位：CF，OF，SF，ZF，PF，AF</p></li><li><p>两个操作数不能同时为存储器操作数</p></li><li><p>如果SRC是立即数，DST是存储器操作数， 则DST必须用PTR说明是字节还是字型或是双字型，否则汇编时会出错。</p></li><li><div class="language-asm vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">asm</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">ADD</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  AL</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">BL</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">ADD</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  CL</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">6</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">ADD</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">  WORD</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">  PTR [</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">BX</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">],</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">56</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">ADD</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  EDX</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">EAX</span></span></code></pre></div></li></ul><h3 id="adc带进位的加法指令" tabindex="-1">ADC带进位的加法指令 <a class="header-anchor" href="#adc带进位的加法指令" aria-label="Permalink to &quot;ADC带进位的加法指令&quot;">​</a></h3><p><code>ADC 目的操作数，源操作数</code></p><ul><li><p>功能：源操作数+目的操作数+CF→目的操作数。将目的操作数加源操作数再加低位进位, 结果送目的地址。</p></li><li><p>影响的标志位：CF，OF，SF，ZF，PF，AF</p></li><li><p>该指令适用于多字节或多字的加法运 算；CF应是上一条指令执行后产生的C标志</p></li><li><p>两个32位二进制数分别存储在DX、 AX和BX、CX寄存器中。其中DX和BX存放 的是高位字，AX和CX存放的是低位字。请 实现两数的加法操作</p><div class="language-asm vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">asm</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">ADD</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> AX</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">，</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">CX</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">;低位相加</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">ADC</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> DX</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">，</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">BX</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> ;高位</span></span></code></pre></div></li></ul><h3 id="inc加1指令" tabindex="-1">INC加1指令 <a class="header-anchor" href="#inc加1指令" aria-label="Permalink to &quot;INC加1指令&quot;">​</a></h3><p><code>INC 目的操作数</code></p><ul><li>目的操作数＋1 →目的操作数。</li><li>INC指令是一个单操作数指令，操作数可以是寄存器或存储器操作数。常用于地址指针或循环次数实 现加1操作。</li><li>INC指令不影响CF标志，但影响其他5个状态标 志(AF，OF，PF，SF，ZF)</li><li>INC指令的操作数不能是立即数</li><li>当INC的操作数是存储器操作数时，必须用PTR 说明其长度属性。</li></ul><h3 id="sub减法" tabindex="-1">SUB减法 <a class="header-anchor" href="#sub减法" aria-label="Permalink to &quot;SUB减法&quot;">​</a></h3><p><code>SUB 目的操作数，源操作数</code></p><ul><li>目的操作数－源操作数→目的操作数， 目的操作数减去源操作数，结果存于目的地 址，源地址内容不变</li><li>影响的标志位：CF，OF，SF，ZF，PF，AF</li></ul><h3 id="sbb带借位减法" tabindex="-1">SBB带借位减法 <a class="header-anchor" href="#sbb带借位减法" aria-label="Permalink to &quot;SBB带借位减法&quot;">​</a></h3><p><code>SBB 目的操作数，源操作数</code></p><ul><li>目的操作数-源操作数-CF→目的操作 数，目的操作数减源操作数、再减低位借位 CF，结果送目的地址。适用于多字节或多字 的减法运算。</li></ul><h3 id="dec减1" tabindex="-1">DEC减1 <a class="header-anchor" href="#dec减1" aria-label="Permalink to &quot;DEC减1&quot;">​</a></h3><p><code>DEC 目的操作数</code></p><ul><li>目的操作数－1→目的操作数。DEC 指令是一个单操作数指令，操作数可以是寄 存器或存储器操作数、不能是立即数。常用 于地址指针或循环次数实现减1操作</li><li>DEC指令不影响CF标志，但影响其他5个 状态标志(AF，OF，PF，SF，ZF)；</li><li>DEC指令的操作数不能是立即数</li><li>当DEC的操作数是存储器操作数时，必须 用PTR说明符说明其属性</li></ul><h3 id="加法、减法指令小结" tabindex="-1">加法、减法指令小结 <a class="header-anchor" href="#加法、减法指令小结" aria-label="Permalink to &quot;加法、减法指令小结&quot;">​</a></h3><ul><li><p>目的操作数不可能为立即数;</p></li><li><p>源、目的操作数必须要等长;</p></li><li><p>源、目的操作数不能同时为存储器操作数;</p></li><li><p>如果源操作数是立即数，目的操作数是存储器操作 数，需要使用PTR进行说明;</p></li><li><p>以上指令中，除INC和DEC以外，都要影响所有6个 标志位。</p></li><li><p>INC和DEC指令：仅有一个操作数，可以 是8/16/32位寄存器操作数或者存储器操作数。这两条指令操作结果均不影响<strong>CF</strong>标。(但其他5个状态标 志位都可能会影响。)</p></li></ul><h3 id="cmp比较指令" tabindex="-1">CMP比较指令 <a class="header-anchor" href="#cmp比较指令" aria-label="Permalink to &quot;CMP比较指令&quot;">​</a></h3><p><code>CMP 目的操作数，源操作数 </code></p><ul><li>功能：目的操作数－源操作数，不保存减法 结果、但正常影响各个状态标志位。</li><li>CMP类似于SUB指令，但不同的是： 该指令不保存相减的结果，因而不改变操作数，仅仅影响状态标志。</li><li>CMP常用于转移指令之前，以形成转移条件， 状态标志包括6个：CF，OF，SF，ZF，PF， AF。</li></ul><h3 id="乘法指令" tabindex="-1">乘法指令 <a class="header-anchor" href="#乘法指令" aria-label="Permalink to &quot;乘法指令&quot;">​</a></h3><ul><li><p>MUL 无符号数乘法指令</p></li><li><p>IMUL 有符号数乘法指令</p></li></ul><h4 id="mul无符号数乘法指令" tabindex="-1">MUL无符号数乘法指令 <a class="header-anchor" href="#mul无符号数乘法指令" aria-label="Permalink to &quot;MUL无符号数乘法指令&quot;">​</a></h4><p><code>MUL SRC ；单操作数格式</code></p><ul><li><p>SRC指明乘数长度(不能是立即数)</p></li><li><p>被乘数和乘数须是等长的无符号二进制数、被乘 数隐含在累加器中(AL/AX/EAX)；</p></li><li><p>乘积为双倍字长</p></li><li><p>执行的操作：</p><ul><li><p>字节操作： (AX) &lt;—(AL) * (SRC)</p></li><li><p>字操作： (DX，AX)&lt;—(AX) * (SRC)</p></li><li><p>双字操作：(EDX，EAX)&lt;—(EAX) * (SRC)</p></li></ul></li><li><p>目的操作数必须是累加器AL、AX、EAX，源操作数是除立即数之外的寻址方式。</p></li><li><p>影响CF、OF标志位，其他不确定</p></li><li><p>eg</p><div class="language-asm vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">asm</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">MOV</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> BL</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">，</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">4</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">MOV</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> AL</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">，</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">64</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">MUL</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  BL</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">; (AH)=?  (AL)=? (AX)=？</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">;(AH)=01H，(AL)=00H ，(AX)=100H</span></span></code></pre></div></li></ul><h4 id="imul有符号数乘法指令" tabindex="-1">IMUL有符号数乘法指令 <a class="header-anchor" href="#imul有符号数乘法指令" aria-label="Permalink to &quot;IMUL有符号数乘法指令&quot;">​</a></h4><p><code>IMUL SRC ;单操作数格式</code></p><ul><li><p>参与运算的被乘数、乘数、乘积均为有符号数，其他与MUL指令相同。</p></li><li><div class="language-asm vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">asm</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">MOV</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> AL</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">，-</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">MOV</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> BL</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">，</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> </span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">;1111 1111(补码)</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">IMUL</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> BL</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">       ;视为有符号数; (AX)=？0FFFFH</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">MUL</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> BL</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">       ;视为无符号数改为; (AX)=？00FFH</span></span></code></pre></div></li></ul><h3 id="除法运算" tabindex="-1">除法运算 <a class="header-anchor" href="#除法运算" aria-label="Permalink to &quot;除法运算&quot;">​</a></h3><h4 id="div-无符号数的除法指令" tabindex="-1">DIV 无符号数的除法指令 <a class="header-anchor" href="#div-无符号数的除法指令" aria-label="Permalink to &quot;DIV 无符号数的除法指令&quot;">​</a></h4><p><code>DIV SRC ;单操作数格式</code></p><ul><li>SRC必须指明除数长度、不能是立即数；</li><li>被除数必须是除数的双倍字长、隐含存放在寄存器中；</li><li>商和余数与除数等长，分别存于被除数的低、高 半部分。</li><li>执行的操作：字节操作：16 位被除数放在AX中，8 位除数为源操作数。结果的8位商在AL中，8位余数 在AH中。表示为： (AL) &lt;—(AX)/(SRC)的商；(AH) &lt;—(AX)/(SRC)的余数；</li><li>字操作：32 位被除数在DX，AX中，16位除数为源 操作数。结果的16位商在AX中，16位的余数在DX 中。表示为：(AX) &lt;–(DX，AX)/(SRC)的商，(DX) &lt;—(DX，AX)/(SRC)的余数</li><li>执行DIV，运算后对标志位无确定影响， 都没有意义。</li><li>商超过规定的范围，CPU自动执行0型中断服务程序。</li></ul><h5 id="eg1" tabindex="-1">eg1 <a class="header-anchor" href="#eg1" aria-label="Permalink to &quot;eg1&quot;">​</a></h5><div class="language-asm vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">asm</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">MOV</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> BL</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">，</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> </span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">MOV</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> AX</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">，</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">17</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> </span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">DIV</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  BL</span></span></code></pre></div><ul><li>AX＝？</li><li>(AL)=4，(AH)=1</li><li>AX＝14H？×</li><li>AX = 104H √</li></ul><h4 id="idiv有符号数的除法指令" tabindex="-1">IDIV有符号数的除法指令 <a class="header-anchor" href="#idiv有符号数的除法指令" aria-label="Permalink to &quot;IDIV有符号数的除法指令&quot;">​</a></h4><p><code>IDIV SRC</code></p><ul><li>被除数、除数、商值和余数均为有符号补 码数，其他与DIV相同</li><li>SRC必须指明除数长度不能是立即数</li><li>若被除数与除数等长时，必须扩展被除数的长度 <ul><li>机器数的实际数值的正负、大小不变，仅将数的符号位扩展</li></ul></li></ul><h5 id="eg1-1" tabindex="-1">eg1 <a class="header-anchor" href="#eg1-1" aria-label="Permalink to &quot;eg1&quot;">​</a></h5><div class="language-asm vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">asm</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">MOV</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> AX</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">，-</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">16</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">MOV</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> BL</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">，-</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">3</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">IDIV</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  BL</span></span></code></pre></div><ul><li>结果是(AL)=+5，(AH)= -1?</li><li>还是(AL)=+6，(AH)= +2 ?</li><li>AL)=+5，(AH)= -1 √</li><li>规定：相除后余数的符号必须和被除数相同</li></ul><h3 id="eg-算术指令的综合例子" tabindex="-1">eg-算术指令的综合例子 <a class="header-anchor" href="#eg-算术指令的综合例子" aria-label="Permalink to &quot;eg-算术指令的综合例子&quot;">​</a></h3><blockquote><p>计算(V-(X*Y+Z-540))/X其中X、Y、Z、V均为16位带符号数，已经分别装入X、Y、Z、V单元，要求上式的计算结果的商存入AX,余数存入DX寄存器。</p><p>程序设计考虑的问题：</p><ol><li>带符号数的运算的指令。</li><li>参与运算的符号的扩展问题。</li><li>寄存器的占用问题。</li><li>计算结果的进位问题。</li><li>计算的先后顺序问题。</li></ol></blockquote><div class="language-asm vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">asm</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">;X*Y</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">MOV</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> AX</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,X</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">IMUL</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Y</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">MOV</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> CX</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">AX</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">MOV</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> BX</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">DX</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">;+Z</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">MOV</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> AX</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,Z</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">CWD</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> ;16位Z变32位</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">ADD</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> CX</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">AX</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">ADC</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> BX</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">DX</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">;-540</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">SUB</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> CX</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">540</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">SBB</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> BX</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">;V-</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">MOV</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> AX</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,V</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">CWD</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">SUB</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> AX</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">CX</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">SBB</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> DX</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">BX</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">IDIV</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> X</span></span></code></pre></div><h2 id="长度-类型转换指令" tabindex="-1">(长度)类型转换指令 <a class="header-anchor" href="#长度-类型转换指令" aria-label="Permalink to &quot;(长度)类型转换指令&quot;">​</a></h2><blockquote><ul><li>这类指令实际上是把操作数的最高位进行扩展；</li><li>常用于处理有符号数运算的操作数类型的匹配问题；</li><li>这类指令均不影响标志</li><li>CBW、CWD、CDQ几条指令常常用于配合有符号数除法指令中以实现被除数双倍字长的要求</li><li>对比：在CPU字长允许的情况下，有时可用 MOVSX替代。例如： MOVSX AX , AL ;等价于CBW</li></ul></blockquote><h3 id="cbw字节扩展成字" tabindex="-1">CBW字节扩展成字 <a class="header-anchor" href="#cbw字节扩展成字" aria-label="Permalink to &quot;CBW字节扩展成字&quot;">​</a></h3><p><code>CBW</code></p><ul><li>把AL寄存器中的符号位值扩展到AH 中，真值保持不变。</li></ul><h4 id="eg-1" tabindex="-1">eg <a class="header-anchor" href="#eg-1" aria-label="Permalink to &quot;eg&quot;">​</a></h4><div class="language-asm vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">asm</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">MOV</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  AL</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">5</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">CBW</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> ;(AH)＝0,AL值不变</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">MOV</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  AL</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">80H</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">CBW</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> ;(AH)＝0FFH,AL值不变</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">MOV</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> AL</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">，-</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">16</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">CBW</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">      ;(AX)= -16                </span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">MOV</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> BL</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">，-</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">3</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">IDIV</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  BL</span></span></code></pre></div><h3 id="cwd字扩展为双字" tabindex="-1">CWD字扩展为双字 <a class="header-anchor" href="#cwd字扩展为双字" aria-label="Permalink to &quot;CWD字扩展为双字&quot;">​</a></h3><p><code>CWD</code></p><ul><li>把AX寄存器中的符号位扩展到DX中</li></ul><h4 id="eg-2" tabindex="-1">eg <a class="header-anchor" href="#eg-2" aria-label="Permalink to &quot;eg&quot;">​</a></h4><div class="language-asm vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">asm</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">MOV</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  AX</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">5</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">CWD</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> ;(DX:AX)＝00000005H</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">MOV</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  AX</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">9098H</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">CWD</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> ;(DX:AX)＝0FFFF9098H</span></span></code></pre></div><h3 id="cwde字扩展为双字" tabindex="-1">CWDE字扩展为双字 <a class="header-anchor" href="#cwde字扩展为双字" aria-label="Permalink to &quot;CWDE字扩展为双字&quot;">​</a></h3><p><code>CWDE </code>(386以上)</p><ul><li>把AX寄存器符号位值扩展到EAX的高 16位</li></ul><h4 id="eg-3" tabindex="-1">eg <a class="header-anchor" href="#eg-3" aria-label="Permalink to &quot;eg&quot;">​</a></h4><div class="language-asm vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">asm</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">MOV</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  AX</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">5</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">CWDE</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> ;(EAX)＝0000 0005 H</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">MOV</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  AX</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">9098H</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">CWDE</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> ;(EAX)＝0FFFF 9098 H</span></span></code></pre></div><h3 id="cdq双字扩展为四字" tabindex="-1">CDQ双字扩展为四字 <a class="header-anchor" href="#cdq双字扩展为四字" aria-label="Permalink to &quot;CDQ双字扩展为四字&quot;">​</a></h3><p><code>CDQ </code>(386以上)</p><ul><li>把EAX寄存器中符号位值扩展到EDX中</li></ul><h4 id="eg-4" tabindex="-1">eg <a class="header-anchor" href="#eg-4" aria-label="Permalink to &quot;eg&quot;">​</a></h4><div class="language-asm vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">asm</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> MOV</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  EAX</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">5</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">CDQ</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> ;(EDX:EAX)＝0000000000000005H</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">MOV</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  EAX</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">90980000H</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">CDQ</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> ;执行结果为(EDX:EAX)＝0FFFFFFFF90980000H</span></span></code></pre></div><h2 id="bcd码-十进制-调整指令" tabindex="-1">BCD码(十进制)调整指令 <a class="header-anchor" href="#bcd码-十进制-调整指令" aria-label="Permalink to &quot;BCD码(十进制)调整指令&quot;">​</a></h2><blockquote><ul><li>BCD码只能表示无符号数</li><li>如何调整：4位二进制数表示的BCD码十进 制数与实际的4位二进制数所能表示的范围， 模相差为6，所以调整时对6进行处理。</li><li>当BCD码表示的十进制加法运算用二进制进 行时，有两种情况需要进行调整： <ol><li>运算的结果出现非法的BCD码(即4位BCD 码对应的十进制数大于9)；</li><li>运算产生半字节间的进位(即：AF/CF=1， 表示4位二进制数加法产生了大于15的进位)</li></ol></li><li>调整的方法是加6进行修正。</li><li>以上调整的判断和执行过程由CPU调整指令 自动进行!</li></ul></blockquote><h3 id="压缩bcd码调整指令" tabindex="-1">压缩BCD码调整指令 <a class="header-anchor" href="#压缩bcd码调整指令" aria-label="Permalink to &quot;压缩BCD码调整指令&quot;">​</a></h3><h4 id="daa压缩bcd码加法调整指令" tabindex="-1">DAA压缩BCD码加法调整指令 <a class="header-anchor" href="#daa压缩bcd码加法调整指令" aria-label="Permalink to &quot;DAA压缩BCD码加法调整指令&quot;">​</a></h4><p><code>DAA</code></p><ul><li>针对AL中的两个组合BCD码数(按二进制运算)之和进行调整，得到正确结果所对应的BCD码数。</li><li>DAA 执行后影响A，C，P，S，Z标志，对 OF未定义</li></ul><h5 id="指令执行时的调整过程" tabindex="-1">指令执行时的调整过程 <a class="header-anchor" href="#指令执行时的调整过程" aria-label="Permalink to &quot;指令执行时的调整过程&quot;">​</a></h5><ol><li>如果AL的低四位大于9或者AF标志=1， 则AL的寄存器内容加06H且使AF = 1 ；否则不修正，AF不变</li><li>如果AL的高四位大于9或者CF标志=1， 则AL的寄存器内容加60H且使CF = 1；否则 不修正，CF不变。</li></ol><h5 id="eg1-2" tabindex="-1">eg1 <a class="header-anchor" href="#eg1-2" aria-label="Permalink to &quot;eg1&quot;">​</a></h5><p>压缩BCD码的加法运算：计算18+27=?</p><div class="language-assembly vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">assembly</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>MOV AL,18H</span></span>
<span class="line"><span>ADD AL,27H ;二进制加法</span></span>
<span class="line"><span>DAA ;十进制加法调整</span></span></code></pre></div><h5 id="eg2" tabindex="-1">eg2 <a class="header-anchor" href="#eg2" aria-label="Permalink to &quot;eg2&quot;">​</a></h5><p>假设数据段中BCD1和BCD2字单元均为组合BCD码(4 位BCD码数)，计算这两BCD码数之和，存入SUM字单元中</p><div class="language-assembly vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">assembly</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>DATAS SEGMENT</span></span>
<span class="line"><span>BCD1 DW 2345H</span></span>
<span class="line"><span>BCD2 DW 5678H</span></span>
<span class="line"><span>DATAS ENDS</span></span>
<span class="line"><span></span></span>
<span class="line"><span></span></span>
<span class="line"><span>CODES SEGMENT</span></span>
<span class="line"><span>ASSUME CS:CODES,DS:DATAS</span></span>
<span class="line"><span>START:</span></span>
<span class="line"><span>	MOV AL,BYTE PTR BCD1</span></span>
<span class="line"><span>    ADD AL,BYTE PTR BCD2</span></span>
<span class="line"><span>    DAA   ;调整</span></span>
<span class="line"><span>    MOV BYTE PTR SUM,AL</span></span>
<span class="line"><span>    </span></span>
<span class="line"><span>    MOV AL,BYTE PTR BCD1+1</span></span>
<span class="line"><span>    ADC AL,BYTE PTR BCD2+1</span></span>
<span class="line"><span>    DAA</span></span>
<span class="line"><span>    MOV BYTE PTR SUM+1,AL ;存高8位之和</span></span>
<span class="line"><span>CODES ENDS</span></span>
<span class="line"><span>END START</span></span></code></pre></div><h4 id="das压缩bcd码减法调整指令" tabindex="-1">DAS压缩BCD码减法调整指令 <a class="header-anchor" href="#das压缩bcd码减法调整指令" aria-label="Permalink to &quot;DAS压缩BCD码减法调整指令&quot;">​</a></h4><p><code>DAS</code></p><ul><li>针对AL中两个组合BCD码数(按二进制运算)之差进行调整，得到正确结果所对应的BCD码数。</li></ul><h3 id="非压缩bcd码调整指令" tabindex="-1">非压缩BCD码调整指令 <a class="header-anchor" href="#非压缩bcd码调整指令" aria-label="Permalink to &quot;非压缩BCD码调整指令&quot;">​</a></h3><ul><li>AAA 未组合十进制数加法调整指令</li><li>AAS 未组合十进制数减法调整指令</li><li>AAM 未组合十进制数乘法调整指令</li><li>AAD 未组合十进制数除之前调整指令</li></ul><h2 id="查表指令xlat-换码指令" tabindex="-1">查表指令XLAT (换码指令) <a class="header-anchor" href="#查表指令xlat-换码指令" aria-label="Permalink to &quot;查表指令XLAT   (换码指令)&quot;">​</a></h2><p><code>格式：XLAT</code></p><ul><li><p>执行：AL&lt;–(DS:[ BX+(AL) ] ) 或 AL&lt;–(DS:[EBX+(AL) ] )</p></li><li><p>将DS段中，偏移地址以(BX或EBX)为 首址和(AL)为位移量的字节型存储单元中的8 位数据送AL寄存器。即(DS:[BX+AL])→AL。</p></li><li><p>实际用途：把一种字节码转换为另一种字节 代码。</p><ul><li><p>使用方法：</p><ol><li>建立字节数据的表格，将表格的首地址预 先存入BX或EBX。</li><li>要转换的代码与表格首地址的偏移量存入 AL。</li><li>执行换码指令，(DS:[BX+AL] )→AL</li></ol></li><li><p>eg:把0~15之间的十进制数转换成十六进制数的ASCII值。</p><div class="language-assembly vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">assembly</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>TAB  DB ‘0’,’1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,</span></span>
<span class="line"><span> ‘9’,’A’,’B’,’C’,’D’, ‘E’,’F’</span></span>
<span class="line"><span>MOV   AX , SEG  TAB</span></span>
<span class="line"><span>MOV   DS , AX</span></span>
<span class="line"><span>LEA   BX, TAB</span></span>
<span class="line"><span>MOV   AL, 11</span></span>
<span class="line"><span>XLAT</span></span></code></pre></div></li></ul></li></ul><h2 id="交换指令xchg" tabindex="-1">交换指令XCHG <a class="header-anchor" href="#交换指令xchg" aria-label="Permalink to &quot;交换指令XCHG&quot;">​</a></h2><p><code>XCHG OPR1，OPR2</code></p><p>(OPR1 ) &lt;=&gt; (OPR2)</p><ul><li>OPR1与OPR2必须是等长操作数，且OPR1， OPR2不能同时为存储器操作数</li><li>寄存器与寄存器之间交换数据</li><li>寄存器与存储器之间交换数据</li><li>执行结果不影响标志位。</li><li>段寄存器不能作为XCHG的操作数。</li></ul></div></div></main><footer class="VPDocFooter" data-v-39a288b8 data-v-e257564d><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-e257564d><span class="visually-hidden" id="doc-footer-aria-label" data-v-e257564d>Pager</span><div class="pager" data-v-e257564d><a class="VPLink link pager-link prev" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E5%85%B6%E4%BB%96/%E6%B1%87%E7%BC%96/%E5%AF%BB%E5%9D%80%E6%96%B9%E5%BC%8F.html" data-v-e257564d><!--[--><span class="desc" data-v-e257564d>上一篇</span><span class="title" data-v-e257564d>寻址方式</span><!--]--></a></div><div class="pager" data-v-e257564d><a class="VPLink link pager-link next" href="/%E5%85%B6%E4%BB%96/%E5%85%AB%E8%82%A1/%E5%85%B6%E4%BB%96/%E6%B1%87%E7%BC%96/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E7%BB%BC%E5%90%88.html" data-v-e257564d><!--[--><span class="desc" data-v-e257564d>下一篇</span><span class="title" data-v-e257564d>程序设计综合</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-5d98c3a5 data-v-e315a0ad><div class="container" data-v-e315a0ad><p class="message" data-v-e315a0ad>Released under the MIT License.</p><p class="copyright" data-v-e315a0ad>Copyright © 2024.8.15-present 九问.All Rights Reserved.</p></div></footer><!--[--><!--]--></div><!----><!----><!--]--></div>
    <script>window.__VP_HASH_MAP__=JSON.parse("{\"index.md\":\"DPLzomJ3\",\"linux_linux基础入门.md\":\"pHBVwgKW\",\"linux_常用命令备忘.md\":\"BjZbNsQB\",\"linux_虚拟机相关.md\":\"509DUbJA\",\"llm_langchain_lcel表达式与runnable可运行协议.md\":\"Do8svL8L\",\"llm_langchain_model.md\":\"BseancJn\",\"llm_langchain_outputparser.md\":\"Dy6NsY5B\",\"llm_langchain_prompt.md\":\"XqZSAhnf\",\"llm_langchain_quick_start.md\":\"BNcILzfr\",\"python_原理类_依赖注入.md\":\"CL2SMX95\",\"python_原理类_内存管理.md\":\"CPaxdydH\",\"python_原理类_单例模式.md\":\"sMUaVqEG\",\"python_原理类_多进程多线程协程.md\":\"DqpQdOiz\",\"python_原理类_深浅拷贝.md\":\"CLyf8bhf\",\"python_原理类_自省.md\":\"xlfwK7Qt\",\"python_原理类_迭代器和生成器.md\":\"CkWqBBDs\",\"python_原理类_闭包和装饰器.md\":\"DK3E-cjV\",\"python_原理类_高阶函数.md\":\"DCh-efV4\",\"python_原理类_魔法方法.md\":\"DmwyLFne\",\"python_原理类_鸭子类型.md\":\"5JGfCqIC\",\"python_基础_练习题.md\":\"CsgELmqe\",\"python_工具类_logging.md\":\"dWLhofea\",\"python框架_django_4-1环境搭建.md\":\"B6koVIdo\",\"python框架_django_4-2settings配置.md\":\"B6f707F-\",\"python框架_django_4-3路由定义与使用.md\":\"BD3-Rmv3\",\"python框架_django_4-4请求与响应.md\":\"n_ivviS2\",\"python框架_django_4-5session_cookie.md\":\"DAeZMmLC\",\"python框架_django_4-6类视图.md\":\"CC_0FUMu\",\"python框架_django_4-7模板引擎.md\":\"BdpQJw0a\",\"python框架_django_接口文档.md\":\"cRd_13f9\",\"python框架_django_熟悉流程_部署博客.md\":\"B4LDDwJF\",\"python框架_django_虚拟环境.md\":\"CANoJLNU\",\"python框架_flask_flask-sqlalchemy.md\":\"CUU_aFQd\",\"python框架_flask_flask-wtf_wtfforms.md\":\"LvJO-ZqI\",\"python框架_flask_start.md\":\"CEtxJVgY\",\"其他_八股_linux.md\":\"CJveVc64\",\"其他_八股_其他_汇编_串指令.md\":\"BttYJMTr\",\"其他_八股_其他_汇编_前置知识.md\":\"BucxfzEY\",\"其他_八股_其他_汇编_宏汇编.md\":\"2UfLWMAK\",\"其他_八股_其他_汇编_寄存器.md\":\"jp1xBRVS\",\"其他_八股_其他_汇编_寻址方式.md\":\"CewV_a8e\",\"其他_八股_其他_汇编_数据传送指令.md\":\"PY1RmkQj\",\"其他_八股_其他_汇编_程序设计综合.md\":\"CqsM9zoN\",\"其他_八股_其他_汇编_逻辑运算与移位指令.md\":\"B_-kKKiB\",\"其他_八股_其他_网安_网络安全.md\":\"COiOJXPx\",\"其他_八股_前端_css_单位.md\":\"DyaFOJT4\",\"其他_八股_前端_css_居中的方式.md\":\"rsk20pg5\",\"其他_八股_前端_html_文档声明.md\":\"CQQLsheK\",\"其他_八股_前端_html_替换元素.md\":\"D69yt3g4\",\"其他_八股_前端_html_语义化_seo_微格式.md\":\"DcyemF8i\",\"其他_八股_前端_html_页面可见性.md\":\"CFWJeBWr\",\"其他_八股_前端_事件循环_异步.md\":\"pX3ui26Y\",\"其他_八股_操作系统_存储管理.md\":\"BiNbZ62S\",\"其他_八股_操作系统_操作系统安全及虚拟化技术概述.md\":\"JHACDhW4\",\"其他_八股_操作系统_操作系统概述及基本概念.md\":\"D9Lo515v\",\"其他_八股_操作系统_文件系统.md\":\"Dtjdw_je\",\"其他_八股_操作系统_死锁.md\":\"zHFIU7qo\",\"其他_八股_操作系统_输入输出.md\":\"frvtHq-m\",\"其他_八股_操作系统_进程与线程.md\":\"DbHOm3Wq\",\"其他_八股_操作系统_面试八股.md\":\"CzgRxFHm\",\"其他_八股_数据库_log.md\":\"B-ybS9bR\",\"其他_八股_数据库_mysql的执行引擎.md\":\"CUp82kj5\",\"其他_八股_数据库_redis.md\":\"z8vp5n46\",\"其他_八股_数据库_sql语句的执行.md\":\"B0aqkw_M\",\"其他_八股_数据库_事务_事务的四大特性.md\":\"DWegFK6Q\",\"其他_八股_数据库_事务_事务的隔离级别.md\":\"CJpAB-SH\",\"其他_八股_数据库_慢查询.md\":\"C1IK6Wix\",\"其他_八股_数据库_索引失效的场景.md\":\"Ax0k9vQn\",\"其他_八股_数据库_进阶_窗口函数.md\":\"C_zDFJPI\",\"其他_八股_数据结构_二分法.md\":\"cV9m7f2a\",\"其他_八股_数据结构_二叉树.md\":\"DkYu-9Db\",\"其他_八股_数据结构_回溯.md\":\"CcyoEaKv\",\"其他_八股_数据结构_数组_蛇形填数.md\":\"sJgKru0T\",\"其他_八股_数据结构_滑动窗口最大值.md\":\"7EhHWPLR\",\"其他_八股_数据结构_背包_01背包.md\":\"Bm-yOyBt\",\"其他_八股_数据结构_链表_两两交换链表中的节点.md\":\"B8MvoYxB\",\"其他_八股_数据结构_链表_单链表.md\":\"BrcntfvU\",\"其他_八股_数据结构_链表_反转链表.md\":\"imXNe7Cp\",\"其他_八股_测开_bug.md\":\"DEH0Pngz\",\"其他_八股_测开_性能测试.md\":\"BIq1PtDn\",\"其他_八股_测开_测试的流程.md\":\"BDpHuwv1\",\"其他_八股_测开_测试的理解.md\":\"D0oj3MOT\",\"其他_八股_测开_软件测试.md\":\"DBQvBkbe\",\"其他_八股_测开_软件质量.md\":\"BbbVdNmM\",\"其他_八股_计网_cdn.md\":\"BBkFV3YX\",\"其他_八股_计网_cookie_session.md\":\"9lTHujdv\",\"其他_八股_计网_dns查询过程.md\":\"UEG8MFOS\",\"其他_八股_计网_http常见状态码.md\":\"FjHGrHsS\",\"其他_八股_计网_osi模型.md\":\"CQQrgYYo\",\"其他_八股_计网_url到页面展示.md\":\"CysFBpDy\",\"其他_八股_计网_传输层_tcp_udp.md\":\"CGN96CrC\",\"其他_八股_计网_应用层_http.md\":\"BwfPa-_I\",\"其他_八股_计网_应用层_http1.0各个版本.md\":\"Po_QFcD7\",\"其他_八股_计网_应用层_http_https.md\":\"CVNCJSvP\",\"其他_八股_计网_强缓存和协商缓存.md\":\"BCS9u_As\",\"其他_八股_计网_物理层_奈氏准则_香农公式.md\":\"LJ2m6SOu\",\"其他_面经_大疆.md\":\"7GCAKeVb\",\"其他_面经_差旅1号.md\":\"COJ0oCTe\",\"其他_面经_广州嘉为科技公司-python.md\":\"DKqZln1v\",\"其他_面经_得物.md\":\"Dh7JuSj9\",\"其他_面经_招商银行.md\":\"xRFKUhWx\",\"其他_面经_百度.md\":\"BNUT_qAS\",\"其他_项目_项目部署_vitepress_githubpages部署.md\":\"BVpDdxkG\",\"其他_项目_项目部署_vitepress_netlify部署.md\":\"Coqp4VTV\",\"其他_项目_项目部署_vitepress_nginx部署.md\":\"BAeOv9Kq\",\"其他_项目_项目部署_web.md\":\"BoGi1t8O\",\"前端_vue3_axios.md\":\"D33GJUpk\",\"前端_vue3_面试.md\":\"Ba2Ot3Rt\",\"前端_前端三件套_css_css3自定义属性.md\":\"D8gxja-i\",\"前端_前端三件套_css_css基础入门.md\":\"ndtMtB1o\",\"前端_前端三件套_css_flexbox布局.md\":\"THfIflcE\",\"前端_前端三件套_css_grid布局.md\":\"DxVJntk3\",\"前端_前端三件套_css_动画.md\":\"CFLVIA4-\",\"前端_前端三件套_css_媒体查询.md\":\"DOMiDDiY\",\"前端_前端三件套_css_属性.md\":\"CESPzocp\",\"前端_前端三件套_html_html基础.md\":\"DVzBORCM\",\"前端_前端三件套_js_dom操作.md\":\"DMHjLETt\",\"前端_前端三件套_js_js入门.md\":\"B5ZmIMru\",\"前端_前端三件套_js_属性描述符.md\":\"CbnoBHiZ\",\"前端_前端三件套_js_高阶函数.md\":\"xnE4baNa\",\"前端_前端三件套_实战案例_聊天页面.md\":\"Biaa-glg\",\"前端_前端三件套_面试_基本题.md\":\"CHZnvxX-\",\"工具_git_gitignore.md\":\"DoXDP0e-\",\"工具_git_git的基本使用.md\":\"DU6wlewG\",\"工具_git_同时推送gitee和github.md\":\"Cvg2MFU1\",\"测试_faker数据随机生成.md\":\"BasZvW7O\",\"测试_jenkins.md\":\"CFQxIQZz\",\"测试_pytest_pytest基础.md\":\"6gYMEMqz\",\"测试_pytest_yaml文件.md\":\"kC0gde-v\",\"测试_pytest_日志.md\":\"CXf5niRD\",\"测试_unittest.md\":\"DLCFrt8V\",\"测试_性能测试_基础概念.md\":\"DOav1Wqa\",\"爬虫_bs4解析.md\":\"DuOzYyCe\",\"爬虫_jsonpath解析.md\":\"Drhtc37w\",\"爬虫_scrapy.md\":\"D83vZHmx\",\"爬虫_selenium.md\":\"BhDk9UyV\",\"爬虫_xpath解析.md\":\"MjtoQ3qX\",\"爬虫_导论.md\":\"BiquNqIP\",\"爬虫_抓包.md\":\"BDJtadra\",\"爬虫_登录流程.md\":\"MPghsp8c\",\"环境搭建_docker_mysql.md\":\"Duy1yYHv\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"九问Blog\",\"description\":\"欢迎访问九问Blog！分享一些Python全栈开发以及爬虫技术，希望对你有所帮助\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/jiuwen567\"},{\"icon\":{\"svg\":\"<svg t=\\\"1724307958358\\\" class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" p-id=\\\"4234\\\" width=\\\"200\\\" height=\\\"200\\\"><path d=\\\"M512 0C230.4 0 0 230.4 0 512s230.4 512 512 512 512-230.4 512-512S793.6 0 512 0z m284.8 313.6c0 12.8-12.8 25.6-25.6 25.6H416c-41.6 0-76.8 35.2-76.8 76.8v243.2c0 12.8 12.8 25.6 25.6 25.6h240c41.6 0 76.8-35.2 76.8-76.8v-12.8c0-12.8-12.8-25.6-25.6-25.6H480c-12.8 0-25.6-12.8-25.6-25.6v-64c0-12.8 12.8-25.6 25.6-25.6h291.2c12.8 0 25.6 12.8 25.6 25.6v144c0 92.8-76.8 169.6-169.6 169.6H252.8c-12.8 0-25.6-12.8-25.6-25.6V412.8C227.2 310.4 310.4 224 416 224h355.2c12.8 0 25.6 12.8 25.6 25.6v64z\\\" fill=\\\"#B32225\\\" p-id=\\\"4235\\\"></path></svg>\"},\"link\":\"https://gitee.com/jiuwen567\"}],\"footer\":{\"message\":\"Released under the MIT License.\",\"copyright\":\"Copyright © 2024.8.15-present 九问.All Rights Reserved.\"},\"search\":{\"provider\":\"local\"},\"docFooter\":{\"prev\":\"上一篇\",\"next\":\"下一篇\"},\"returnToTopLabel\":\"回到顶部\",\"sidebarMenuLabel\":\"菜单\",\"darkModeSwitchLabel\":\"主题\",\"lightModeSwitchTitle\":\"切换到浅色模式\",\"darkModeSwitchTitle\":\"切换到深色模式\",\"nav\":[{\"text\":\"工具\",\"activeMatch\":\"/工具/\",\"link\":\"/工具/Git/同时推送Gitee和GitHub\"},{\"text\":\"Linux\",\"activeMatch\":\"/Linux/\",\"link\":\"/Linux/Linux基础入门\"},{\"text\":\"爬虫\",\"activeMatch\":\"/爬虫/\",\"link\":\"/爬虫/导论\"},{\"text\":\"测试\",\"activeMatch\":\"/测试/\",\"link\":\"/测试/faker数据随机生成\"},{\"text\":\"Python\",\"activeMatch\":\"/Python/\",\"link\":\"/Python/原理类/内存管理\"},{\"text\":\"Python框架\",\"activeMatch\":\"/Python框架/\",\"link\":\"/Python框架/Django/接口文档\"},{\"text\":\"其他\",\"activeMatch\":\"/其他/\",\"link\":\"/其他/八股/Linux\"},{\"text\":\"前端\",\"activeMatch\":\"/前端/\",\"link\":\"/前端/Vue3/axios\"},{\"text\":\"LLM\",\"activeMatch\":\"/LLM/\",\"link\":\"/LLM/LangChain/quick_start\"},{\"text\":\"环境搭建\",\"activeMatch\":\"/环境搭建/\",\"link\":\"/环境搭建/docker/mysql\"}],\"sidebar\":{\"/工具/\":[{\"text\":\"Git\",\"collapsed\":false,\"items\":[{\"text\":\"同时推送Gitee和GitHub\",\"link\":\"/工具/Git/同时推送Gitee和GitHub\"},{\"text\":\"Git的基本使用\",\"link\":\"/工具/Git/Git的基本使用\"},{\"text\":\"gitignore\",\"link\":\"/工具/Git/gitignore\"}]}],\"/Linux/\":[{\"text\":\"Linux基础入门\",\"link\":\"/Linux/Linux基础入门\"},{\"text\":\"虚拟机相关\",\"link\":\"/Linux/虚拟机相关\"},{\"text\":\"常用命令备忘\",\"link\":\"/Linux/常用命令备忘\"}],\"/爬虫/\":[{\"text\":\"导论\",\"link\":\"/爬虫/导论\"},{\"text\":\"抓包\",\"link\":\"/爬虫/抓包\"},{\"text\":\"bs4解析\",\"link\":\"/爬虫/bs4解析\"},{\"text\":\"xpath解析\",\"link\":\"/爬虫/xpath解析\"},{\"text\":\"登录流程\",\"link\":\"/爬虫/登录流程\"},{\"text\":\"scrapy\",\"link\":\"/爬虫/scrapy\"},{\"text\":\"selenium\",\"link\":\"/爬虫/selenium\"},{\"text\":\"jsonpath解析\",\"link\":\"/爬虫/jsonpath解析\"}],\"/测试/\":[{\"text\":\"faker数据随机生成\",\"link\":\"/测试/faker数据随机生成\"},{\"text\":\"Jenkins\",\"link\":\"/测试/Jenkins\"},{\"text\":\"unittest\",\"link\":\"/测试/unittest\"},{\"text\":\"性能测试\",\"collapsed\":false,\"items\":[{\"text\":\"基础概念\",\"link\":\"/测试/性能测试/基础概念\"}]},{\"text\":\"pytest\",\"collapsed\":false,\"items\":[{\"text\":\"pytest基础\",\"link\":\"/测试/pytest/pytest基础\"},{\"text\":\"yaml文件\",\"link\":\"/测试/pytest/yaml文件\"},{\"text\":\"日志\",\"link\":\"/测试/pytest/日志\"}]}],\"/Python/\":[{\"text\":\"原理类\",\"collapsed\":false,\"items\":[{\"text\":\"内存管理\",\"link\":\"/Python/原理类/内存管理\"},{\"text\":\"单例模式\",\"link\":\"/Python/原理类/单例模式\"},{\"text\":\"多进程多线程协程\",\"link\":\"/Python/原理类/多进程多线程协程\"},{\"text\":\"深浅拷贝\",\"link\":\"/Python/原理类/深浅拷贝\"},{\"text\":\"自省\",\"link\":\"/Python/原理类/自省\"},{\"text\":\"迭代器和生成器\",\"link\":\"/Python/原理类/迭代器和生成器\"},{\"text\":\"闭包和装饰器\",\"link\":\"/Python/原理类/闭包和装饰器\"},{\"text\":\"高阶函数\",\"link\":\"/Python/原理类/高阶函数\"},{\"text\":\"魔法方法\",\"link\":\"/Python/原理类/魔法方法\"},{\"text\":\"鸭子类型\",\"link\":\"/Python/原理类/鸭子类型\"},{\"text\":\"依赖注入\",\"link\":\"/Python/原理类/依赖注入\"}]},{\"text\":\"工具类\",\"collapsed\":false,\"items\":[{\"text\":\"logging\",\"link\":\"/Python/工具类/logging\"}]},{\"text\":\"基础\",\"collapsed\":false,\"items\":[{\"text\":\"练习题\",\"link\":\"/Python/基础/练习题\"}]}],\"/前端/\":[{\"text\":\"Vue3\",\"collapsed\":false,\"items\":[{\"text\":\"axios\",\"link\":\"/前端/Vue3/axios\"},{\"text\":\"面试\",\"link\":\"/前端/Vue3/面试\"}]},{\"text\":\"前端三件套\",\"collapsed\":false,\"items\":[{\"text\":\"HTML\",\"collapsed\":false,\"items\":[{\"text\":\"HTML基础\",\"link\":\"/前端/前端三件套/HTML/HTML基础\"}]},{\"text\":\"CSS\",\"collapsed\":false,\"items\":[{\"text\":\"css3自定义属性\",\"link\":\"/前端/前端三件套/CSS/css3自定义属性\"},{\"text\":\"css基础入门\",\"link\":\"/前端/前端三件套/CSS/css基础入门\"},{\"text\":\"flexbox布局\",\"link\":\"/前端/前端三件套/CSS/flexbox布局\"},{\"text\":\"grid布局\",\"link\":\"/前端/前端三件套/CSS/grid布局\"},{\"text\":\"动画\",\"link\":\"/前端/前端三件套/CSS/动画\"},{\"text\":\"媒体查询\",\"link\":\"/前端/前端三件套/CSS/媒体查询\"},{\"text\":\"属性\",\"link\":\"/前端/前端三件套/CSS/属性\"}]},{\"text\":\"js\",\"collapsed\":false,\"items\":[{\"text\":\"DOM操作\",\"link\":\"/前端/前端三件套/js/DOM操作\"},{\"text\":\"js入门\",\"link\":\"/前端/前端三件套/js/js入门\"},{\"text\":\"属性描述符\",\"link\":\"/前端/前端三件套/js/属性描述符\"},{\"text\":\"高阶函数\",\"link\":\"/前端/前端三件套/js/高阶函数\"}]},{\"text\":\"面试\",\"collapsed\":false,\"items\":[{\"text\":\"基本题\",\"link\":\"/前端/前端三件套/面试/基本题\"}]},{\"text\":\"实战案例\",\"collapsed\":false,\"items\":[{\"text\":\"聊天页面\",\"link\":\"/前端/前端三件套/实战案例/聊天页面\"}]}]}],\"/Python框架/\":[{\"text\":\"Django\",\"collapsed\":false,\"items\":[{\"text\":\"接口文档\",\"link\":\"/Python框架/Django/接口文档\"},{\"text\":\"熟悉流程\",\"collapsed\":false,\"items\":[{\"text\":\"部署博客\",\"link\":\"/Python框架/Django/熟悉流程/部署博客\"}]},{\"text\":\"4-1环境搭建\",\"link\":\"/Python框架/Django/4-1环境搭建\"},{\"text\":\"4-2settings配置\",\"link\":\"/Python框架/Django/4-2settings配置\"},{\"text\":\"4-3路由定义与使用\",\"link\":\"/Python框架/Django/4-3路由定义与使用\"},{\"text\":\"4-4请求与响应\",\"link\":\"/Python框架/Django/4-4请求与响应\"},{\"text\":\"4-5session_cookie\",\"link\":\"/Python框架/Django/4-5session_cookie\"},{\"text\":\"4-6类视图\",\"link\":\"/Python框架/Django/4-6类视图\"},{\"text\":\"4-7模板引擎\",\"link\":\"/Python框架/Django/4-7模板引擎\"},{\"text\":\"虚拟环境\",\"link\":\"/Python框架/Django/虚拟环境\"}]},{\"text\":\"Flask\",\"collapsed\":false,\"items\":[{\"text\":\"start\",\"link\":\"/Python框架/Flask/start\"},{\"text\":\"Flask-wtf&wtfforms\",\"link\":\"/Python框架/Flask/Flask-wtf&wtfforms\"},{\"text\":\"Flask-SQLAlchemy\",\"link\":\"/Python框架/Flask/Flask-SQLAlchemy\"}]}],\"/其他/\":[{\"text\":\"面经\",\"collapsed\":false,\"items\":[{\"text\":\"大疆\",\"link\":\"/其他/面经/大疆\"},{\"text\":\"差旅1号\",\"link\":\"/其他/面经/差旅1号\"},{\"text\":\"广州嘉为科技公司-python\",\"link\":\"/其他/面经/广州嘉为科技公司-python\"},{\"text\":\"得物\",\"link\":\"/其他/面经/得物\"},{\"text\":\"招商银行\",\"link\":\"/其他/面经/招商银行\"},{\"text\":\"百度\",\"link\":\"/其他/面经/百度\"}]},{\"text\":\"八股\",\"collapsed\":false,\"items\":[{\"text\":\"Linux\",\"link\":\"/其他/八股/Linux\"},{\"text\":\"前端\",\"collapsed\":false,\"items\":[{\"text\":\"事件循环&异步\",\"link\":\"/其他/八股/前端/事件循环&异步\"},{\"text\":\"HTML\",\"collapsed\":false,\"items\":[{\"text\":\"文档声明\",\"link\":\"/其他/八股/前端/HTML/文档声明\"},{\"text\":\"替换元素\",\"link\":\"/其他/八股/前端/HTML/替换元素\"},{\"text\":\"语义化&SEO&微格式\",\"link\":\"/其他/八股/前端/HTML/语义化&SEO&微格式\"},{\"text\":\"页面可见性\",\"link\":\"/其他/八股/前端/HTML/页面可见性\"}]},{\"text\":\"CSS\",\"collapsed\":false,\"items\":[{\"text\":\"单位\",\"link\":\"/其他/八股/前端/CSS/单位\"},{\"text\":\"居中的方式\",\"link\":\"/其他/八股/前端/CSS/居中的方式\"}]}]},{\"text\":\"数据库\",\"collapsed\":false,\"items\":[{\"text\":\"log\",\"link\":\"/其他/八股/数据库/log\"},{\"text\":\"mysql的执行引擎\",\"link\":\"/其他/八股/数据库/mysql的执行引擎\"},{\"text\":\"redis\",\"link\":\"/其他/八股/数据库/redis\"},{\"text\":\"sql语句的执行\",\"link\":\"/其他/八股/数据库/sql语句的执行\"},{\"text\":\"慢查询\",\"link\":\"/其他/八股/数据库/慢查询\"},{\"text\":\"索引失效的场景\",\"link\":\"/其他/八股/数据库/索引失效的场景\"},{\"text\":\"事务\",\"collapsed\":false,\"items\":[{\"text\":\"事务的四大特性\",\"link\":\"/其他/八股/数据库/事务/事务的四大特性\"},{\"text\":\"事务的隔离级别\",\"link\":\"/其他/八股/数据库/事务/事务的隔离级别\"}]},{\"text\":\"进阶\",\"collapsed\":false,\"items\":[{\"text\":\"窗口函数\",\"link\":\"/其他/八股/数据库/进阶/窗口函数\"}]}]},{\"text\":\"测开\",\"collapsed\":false,\"items\":[{\"text\":\"bug\",\"link\":\"/其他/八股/测开/bug\"},{\"text\":\"性能测试\",\"link\":\"/其他/八股/测开/性能测试\"},{\"text\":\"测试的流程\",\"link\":\"/其他/八股/测开/测试的流程\"},{\"text\":\"测试的理解\",\"link\":\"/其他/八股/测开/测试的理解\"},{\"text\":\"软件测试\",\"link\":\"/其他/八股/测开/软件测试\"},{\"text\":\"软件质量\",\"link\":\"/其他/八股/测开/软件质量\"}]},{\"text\":\"数据结构\",\"collapsed\":false,\"items\":[{\"text\":\"二分法\",\"link\":\"/其他/八股/数据结构/二分法\"},{\"text\":\"二叉树\",\"link\":\"/其他/八股/数据结构/二叉树\"},{\"text\":\"回溯\",\"link\":\"/其他/八股/数据结构/回溯\"},{\"text\":\"滑动窗口最大值\",\"link\":\"/其他/八股/数据结构/滑动窗口最大值\"},{\"text\":\"数组\",\"collapsed\":false,\"items\":[{\"text\":\"蛇形填数\",\"link\":\"/其他/八股/数据结构/数组/蛇形填数\"}]},{\"text\":\"背包\",\"collapsed\":false,\"items\":[{\"text\":\"01背包\",\"link\":\"/其他/八股/数据结构/背包/01背包\"}]},{\"text\":\"链表\",\"collapsed\":false,\"items\":[{\"text\":\"两两交换链表中的节点\",\"link\":\"/其他/八股/数据结构/链表/两两交换链表中的节点\"},{\"text\":\"单链表\",\"link\":\"/其他/八股/数据结构/链表/单链表\"},{\"text\":\"反转链表\",\"link\":\"/其他/八股/数据结构/链表/反转链表\"}]}]},{\"text\":\"计网\",\"collapsed\":false,\"items\":[{\"text\":\"CDN\",\"link\":\"/其他/八股/计网/CDN\"},{\"text\":\"cookie&session\",\"link\":\"/其他/八股/计网/cookie&session\"},{\"text\":\"DNS查询过程\",\"link\":\"/其他/八股/计网/DNS查询过程\"},{\"text\":\"http常见状态码\",\"link\":\"/其他/八股/计网/http常见状态码\"},{\"text\":\"OSI模型\",\"link\":\"/其他/八股/计网/OSI模型\"},{\"text\":\"url到页面展示\",\"link\":\"/其他/八股/计网/url到页面展示\"},{\"text\":\"强缓存和协商缓存\",\"link\":\"/其他/八股/计网/强缓存和协商缓存\"},{\"text\":\"传输层\",\"collapsed\":false,\"items\":[{\"text\":\"TCP&UDP\",\"link\":\"/其他/八股/计网/传输层/TCP&UDP\"}]},{\"text\":\"物理层\",\"collapsed\":false,\"items\":[{\"text\":\"奈氏准则&香农公式\",\"link\":\"/其他/八股/计网/物理层/奈氏准则&香农公式\"}]},{\"text\":\"应用层\",\"collapsed\":false,\"items\":[{\"text\":\"http&https\",\"link\":\"/其他/八股/计网/应用层/http&https\"},{\"text\":\"http\",\"link\":\"/其他/八股/计网/应用层/http\"},{\"text\":\"http1.0各个版本\",\"link\":\"/其他/八股/计网/应用层/http1.0各个版本\"}]}]},{\"text\":\"操作系统\",\"collapsed\":false,\"items\":[{\"text\":\"存储管理\",\"link\":\"/其他/八股/操作系统/存储管理\"},{\"text\":\"操作系统安全及虚拟化技术概述\",\"link\":\"/其他/八股/操作系统/操作系统安全及虚拟化技术概述\"},{\"text\":\"操作系统概述及基本概念\",\"link\":\"/其他/八股/操作系统/操作系统概述及基本概念\"},{\"text\":\"文件系统\",\"link\":\"/其他/八股/操作系统/文件系统\"},{\"text\":\"死锁\",\"link\":\"/其他/八股/操作系统/死锁\"},{\"text\":\"输入输出\",\"link\":\"/其他/八股/操作系统/输入输出\"},{\"text\":\"进程与线程\",\"link\":\"/其他/八股/操作系统/进程与线程\"},{\"text\":\"面试八股\",\"link\":\"/其他/八股/操作系统/面试八股\"}]},{\"text\":\"其他\",\"collapsed\":false,\"items\":[{\"text\":\"汇编\",\"collapsed\":false,\"items\":[{\"text\":\"串指令\",\"link\":\"/其他/八股/其他/汇编/串指令\"},{\"text\":\"前置知识\",\"link\":\"/其他/八股/其他/汇编/前置知识\"},{\"text\":\"宏汇编\",\"link\":\"/其他/八股/其他/汇编/宏汇编\"},{\"text\":\"寄存器\",\"link\":\"/其他/八股/其他/汇编/寄存器\"},{\"text\":\"寻址方式\",\"link\":\"/其他/八股/其他/汇编/寻址方式\"},{\"text\":\"数据传送指令\",\"link\":\"/其他/八股/其他/汇编/数据传送指令\"},{\"text\":\"程序设计综合\",\"link\":\"/其他/八股/其他/汇编/程序设计综合\"},{\"text\":\"逻辑运算与移位指令\",\"link\":\"/其他/八股/其他/汇编/逻辑运算与移位指令\"}]},{\"text\":\"网安\",\"collapsed\":false,\"items\":[{\"text\":\"网络安全\",\"link\":\"/其他/八股/其他/网安/网络安全\"}]}]}]},{\"text\":\"项目\",\"collapsed\":false,\"items\":[{\"text\":\"项目部署\",\"collapsed\":false,\"items\":[{\"text\":\"web\",\"link\":\"/其他/项目/项目部署/web\"},{\"text\":\"vitepress\",\"collapsed\":false,\"items\":[{\"text\":\"GithubPages部署\",\"link\":\"/其他/项目/项目部署/vitepress/GithubPages部署\"},{\"text\":\"netlify部署\",\"link\":\"/其他/项目/项目部署/vitepress/netlify部署\"},{\"text\":\"Nginx部署\",\"link\":\"/其他/项目/项目部署/vitepress/Nginx部署\"}]}]}]}],\"/LLM/\":[{\"text\":\"LangChain\",\"collapsed\":false,\"items\":[{\"text\":\"quick_start\",\"link\":\"/LLM/LangChain/quick_start\"},{\"text\":\"Prompt\",\"link\":\"/LLM/LangChain/Prompt\"},{\"text\":\"Model\",\"link\":\"/LLM/LangChain/Model\"},{\"text\":\"OutputParser\",\"link\":\"/LLM/LangChain/OutputParser\"},{\"text\":\"LCEL表达式与Runnable可运行协议\",\"link\":\"/LLM/LangChain/LCEL表达式与Runnable可运行协议\"}]}],\"/环境搭建/\":[{\"text\":\"docker\",\"collapsed\":false,\"items\":[{\"text\":\"mysql\",\"link\":\"/环境搭建/docker/mysql\"}]}]}},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
    
  </body>
</html>